package br.com.curso.relatoriobancario;

public abstract class TemplateRelatorioBancario implements RelatorioBancario {

	@Override
	public void Imprime(Banco banco) {
		System.out.println(defineCabecalho(banco));
		System.out.println("---------------------");
		System.out.println();
		System.out.println(defineCorpo(banco));
		System.out.println("---------------------");
		System.out.println(defineRodape(banco));
		System.out.println();
	}
	
	protected abstract String defineCabecalho(Banco banco);
	
	protected abstract String defineCorpo(Banco banco);
	
	protected abstract String defineRodape(Banco banco);

}
